{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Parameter Fits <img src='data/images/logo.png' width=50 align='left'> \n",
    "\n",
    "author: Thomas Haslwanter\\\n",
    "date: June-2020"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Line Fits"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "np.random.seed(123)\n",
    "x = np.arange(100)\n",
    "y = 0.3*x + 15 + 5*np.random.randn(len(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1a73bd5fa60>]"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x,y,'.')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "k=0.30, d=15.07 \n"
     ]
    }
   ],
   "source": [
    "M = np.column_stack( [x, np.ones(len(x))] )\n",
    "(k_pinv, d_pinv) = np.linalg.pinv(M) @ y\n",
    "print(f'k={k_pinv:4.2f}, d={d_pinv:4.2f} ')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 0.30141756, 15.06537622]),\n",
       " array([3182.14895878]),\n",
       " 2,\n",
       " array([573.08343972,   5.03697508]))"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.linalg.lstsq(M, y, rcond=-1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1a73be0ee80>]"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "p = np.polyfit(x,y,1)\n",
    "plt.plot(x,y,'.')\n",
    "plt.plot(x, np.polyval(p,x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "import seaborn as sns"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a73c93a2e0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXAAAAD4CAYAAAD1jb0+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXCb933n8fcPF8H7JkAd1C1ZhBxbturKsRM7lkWqTdJkdibZdpsdbycdT9ud2XZ7ut2Z9WR3u+OddjLtTtt0PG133W22jZo2m/QyactH7ByOJduJBVKSdR8mwFMkQRL3b/8AQIIkQDwgcTwP+X39Q/HB9fCh+MEP39+ltNYIIYSwHlu1T0AIIcT6SIALIYRFSYALIYRFSYALIYRFSYALIYRFOSr5Yh0dHXr37t2VfEkhhLC8c+fOjWutO1cer2iA7969m7Nnz1byJYUQwvKUUjdyHZcSihBCWJQEuBBCWJQEuBBCWJQEuBBCWJQEuBBCWJQEuBBCWJQEuBBCpA2PzHD67C2GR2aqfSqGVHQcuBBCmNXwyAy/9NV3iMUTOB12/uRnH+Bwd1O1T2tN0gIXQgjg/TvTxOIJWutriMUTvH9nutqnVJAEuBBCAPdub8bpsDM1F8HpsHPv9uZqn1JBUkIRQgjgcHcTf/KzD/D+nWnu3d5s+vIJSIALIcSiw91NlgjuDCmhCCGERRlqgSulrgOzQAKIa62PKaXagK8Bu4HrwOe11lPlOU0hhBArFdMC/4TW+n6t9bH0988AZ7TWB4Az6e+FEEJUyEZKKJ8BXkj/+wXgsxs/HSGEEEYZDXANDCqlzimlnk4f82itRwDSX7tyPVAp9bRS6qxS6uzY2NjGz1gIIQRgfBTKI1rrD5VSXcBLSqkLRl9Aa/088DzAsWPH9DrOUQghRA6GWuBa6w/TX0eBbwAPAUGlVDdA+utouU5SCCHEagUDXClVr5RqzPwb6APOA98Cnkrf7Sngm+U6SSGEsIJKL4ZlpITiAb6hlMrc//9qrV9USr0NnFZKfRG4CXyufKcphBDmVmgxrOGRmZLP8iwY4Frrq8B9OY5PACdKchZCCGFx2YthTc1FeP/O9GJQl2ulQ5mJKYQQJbDWYljlWulQ1kIRQlhSOUoSG3mttRbDKtdKhxLgQgjLqeTmC8W8Vr7FsMq10qGUUIQQllPJzRdK9VqHu5v4/LGdJX2jkQAXQlhOJTdfMPNGD0rryk2OPHbsmD579mzFXk8IsXmZrQZeTkqpc1kLCS6SGrgQwpIquflCtTZ6iCWShGOJvLdLgAshhIkMj8xw7sYUu9rr2N5Si9tpz3tfCXAhhDCBRFJz7sYkv3r6h4sjXp79dC++bflr7tKJKYQQVRSOJRidDXNzcp63r08RiydornURiye4FAyt+VhpgQshRIVprZmNxJlZiBGNJxePH/Q04HTYmV6I4nTYOehpWPN5JMCFEKJCYokkMwsxQpE4ieTqEYD7Oht49tO9XAqGOOhpYF+nBLgQwqKqPXyvVOajcWYW4sxH4wXvu6+zcHBnSIALIUypktPlyyGR1MyGY8yG48QSycIPyGOtuToS4EIIU1preVYzC8cSzIRjzEUSa4ZvIROhCC8Pj/LScDDvfSTAhRCmZOYp7CtprQlF4syE40TWmHhTSDSe5LtXJhjwB3j7+iQ5yuTLSIALIUypXCv4lVKhTkkjtNZcCMwy6A/yysVRZsNLdfImt4OTvR6+nOexEuBCCNMqZgp7JTs8i+mUzGdsNsLLw0EG/EFuTs4vHrcpeGhPG6d8Xo7vbaep1ikBLoTYvCrR4ZlIakLhODPh2Lo7JSOxBN+5MsGgP8DZG1PLSiR7Ouo55fNw4rCHtnqXoeeTABdCWF45OzwLdUpeGQutOW5ba83QyAwD/iCvXhxlLrJUI29yO3jysIc+n4cDXQ2kN483TAJcCGF5pe7wTCY1oejqmZIrXRkL8aV/GFq2dkkmxEdnwryULpHcnlpYfIzdpji+p40+n5fje9tw2te/ookEuBDC8krV4RmJJ5hZiDMXiZM0MATwUjC0uHbJ9EIU/4czXBufY+B8gHdu3iX7GfZ3NtB/xMOJe7poqTNWIilEAlwIsSmsd83ujQwBPOhpwGG3MTYbJpLQ/OnrVwjHllrsLbVOnuztor/Xy74uY7MrV7o8GsJW19ye6zYJcCFE2Zh5KnyhIYCFatuBmTDfvTxBNKGZWlgajeKwKR7e106/z8NDu9twbKBEcmUsxH/5xyHs9a3bct0uAS6EKIrRUDbrVHgjQwDz1bYXYgneuDTGi/4g7926u+wxhzyN9Pk8PHFPF821zg2do8tho6HGwVvXouikBp3MebIS4EIIw4oJZTNNhS92XZLs2vbd+Qhnhkf5+rnbfPvSOAtZZZa2ehdPHu6i3+dlT0f9hs7RaU+Fdn2NA5cj1Wq/f2cLTocdlC1nVkuACyEMKyaUzTAVPhxLMLMQYy5a3LokBz2pIX137s4Tjmv+5u1bi7c57YqP7uug3+fhx3a3YbcVN/Qvm9Nuo77GQX2NnRrH6q3TMp2zR56d+jDX4yXAhRCGFRPK1ZoKn0xqZtc54WY+Guf1S+MM+AMEZiLLbrvH20i/z8snDnXSZLBEkquOngntOpd9zf0uMw53N5Gcn57IdZsEuBCbQKU6C4sN5Uru5h6OJZgNxwlF4kW1tpNa896tuwz4g7xxaYxw1rjv9gYXJw976Pd52NVeXIlkZR399z93H/fvbDEU2kZJgAthcZXuLKxkKBdidMJNLnemFhgYCjDoDzI6u9TadjlsPLo/VSJ5oKd13SWSy6MhEokkHY1upuej3Jyc5/jenKMB100CXGxplRzmVq7XMlNnYaUUO+EmIxSJ8/rFMQb8Ac5/OLPstt7uJvp9Hj5xqIsG9/qi0WGzUVdjp6HGweOHujh99jbT89Gy9QFIgItNyUhYVrLlWs7XMkNnYSWsd8JNIql59+ZUqkRyeXxZS72rsYaTvR76ej3sbKtb13llh3Z2eaQSfQAS4GLTMRqWlWy5lvO1rLBu9kbEE0lmwnFmw7Gi1ty+OTnPoD/A4FCQ8VB08XiNw8bHDnRwyufl/p4WbEUuIAX5Q3ulcpebDAe4UsoOnAXuaK0/pZRqA74G7AauA5/XWk+V4ySFKIbRsKxky7Xcr2WmunQpaK2Zj6Y6JYtZczsUjvPqxVEG/AGGRmaX3Xbv9mb6fR4eO9hJfU3xbVe7TVFf4ygY2pVUzE/xy8AwkPlf8gxwRmv9nFLqmfT3v1Xi8xOiaEbDspIt15WvBXD67K1N2WLeiFgiyWyRre1EUnPuxhQD/gBvXh4nllh6nKephr5eD329Xra31hZ9Pnabos6VCu1alzlCO5syMtxGKbUDeAH4XeBX0y3wi8DjWusRpVQ38JrW+tBaz3Ps2DF99uzZUpy3EGsy8xocZp1iXi3rbW1fn5hj0B/kpaEgE3NLJRK3w8Zjhzrp6/Vw387iSyRmDG2l1Dmt9bGVx422wP8A+E2gMeuYR2s9ApAO8a48L/w08DRAT09PUSctxHqZuaSwFUeN5JKpbYfCceJJY0MAZxZivHpxlBf9QS4GlpdI7tvRTJ/Py2MHO6hzFVcisdsUta5UTbvWaS96Y4VqKfhTKqU+BYxqrc8ppR4v9gW01s8Dz0OqBV70GQphAqVs0W+VUSP5FLufZCKpefv6JC/6A3zvysSyEkl3sztVIvF56G4urkRiU2qxI9JKoZ3NyNvUI8BPKaV+EnADTUqpvwKCSqnurBLKaDlPVIhqKXXJY7OPGsllPftJXh0LMeAP8vJwkKn52OLxWqedxw910ufzcO/25qJKJJshtLMVDHCt9W8Dvw2QboH/utb6C0qp3wOeAp5Lf/1mGc9TiKopR8nDzCWeUlqIJpgNG19Mano+xpkLowwOBbgUDC0eV8DRnhb6fV4ePdBBbRGjQJRS1LnsqUWjXNYP7WwbGQf+HHBaKfVF4CbwudKckhDmYsWSRzU7cYttbccTSd66NsmAP8j3r04Qzxp9sr2llj6fh5O9HrxNbsPncHVsjmsTcxzd2cIDPa3YNrBioJkZGoVSKjIKRViVmUe1rFSqkk+xP3Oh3dtXujwaYsAf4MzwKHcXlkok9S47jx3q5JTPi29bU1EtZrfTzp27C/zG3/6QeCJp6lE+xVzfjY5CEWJLK2fJo9RvDqUo+Rh9Eyh2Mamp+ShnhlMTba6MzS0eV8CDu1pTJZL97dQUUSLJ7F5TX+PAabfx5uVx4omkqUf5lOpNVgJciCoqx5jwUpR8Cr0JFFPbjiWSfP/qJAP+AG9dm1w2QWdnay39Pi8nez10NtYYPr9MaNe5lnavybBCyatU/SoS4EJUUbk6SDc6yiVXCMYTSUKRuKFtybTWfDCaGkVyZjjITHhpyGB9jZ1ju1rZ0VrHYwc72N/VuMYzLcm15VguVhjlU6o3GamBC1FFhVrg1ay9Z177QFcD21pqmTfQ2p6ci/LycJABf5Br40slEpuCY7vb6O/10N3i5r//84VVGwbnYsb1R0ol+3cLrPl7lhq4ECa0VmuxmlPu44kk3iY39S4H8WSSuUj+STfReJLvXZ1gwB/gB9cmyV7CZFdbHf0+D0/2euhoSJVI/uV8YHHD4OmFKJeCoWUB7rDZqK9JDfsrR2ibpUM606+ykd+zBLgQJbSecMjXQVrpKffFrEmiteZCYJZBf5BXLo4ym1UiaXQ7eOJQF/1HPBzyNK4aRXLQ04DTYWd6IbXRwUFPw+IEm8YaZ1nXHzHjOjQb+T1LgAtRIqUOh0p1xkXjqdr2uzenuBCYXbYB70pjsxFeHg4y6A9yY3J+8bhNwUN72jjl83J8b/uaNep9nQ08++leLgVD3L+zhft3tlBXoQk2ZlyHZiO/ZwlwIUqk1OFQzs44rTVz6ZEkC9HEqg14s+vSkViC71xJlUjO3ZhaViLZ01HPKZ+HE4c9tNW7Cr5uZlbkw/s6ePKwp+KzIs04QmUjv2cJcCFKZGU4NLgcG17zu9Tjz6PxJLPhGKFIfNlwvkvB0LK69MXALJFYkgF/gFcujjIXWdrCrMnt4ER6p/YDXQ0FQ1gpRa3TnqpruxxVnRVp1hEq6/09S4ALUSLZ4dDgcvB7gxdNUWvNtLZnFmKE8+wlmalLT85FiCY0/+f7NwjOLO3UbrcpfnxPG/0+L8f3tuG05y+RQCq03U5bagRJCUO7FB2QpXhTNEtHqAS4ECWUCYfTZ29VvdYaSySZWVjd2l4pHEtwfXyOJreD21MLAIvjtvd3NtB/xMOJe7poqStcInE77YvD/uwrQnujoWeWDkiznAdIgAtRFtWqta6sba91v/N3ZhgYCvDaxTHms+7bUuvkyd4u+nu97OvK3ZmZLRPa9S47jjwt81KEnlk6IM1yHiABLkRZlKvWmq8VmxlJUmgvycBMmJeGUqNI7txdWDzusCke3tdOX6+HH9/TljeIMzJT2RtqHAXvC6UJPbN0QJrlPEACXIiyKXUH5MpW7B/9m6P0tNUxG47nrW0DDH04zT+9H+Da+BwXVmxDdtDTQF+vlxP3dNFc51zz9Y1OZc+lFKG33jfFtUo36x23b5aOUAlwISwi04ptrnMxGYrw+qUxTvm8Oe+b1Jr3b0/z9XO3+e6VCbLb5K11Tp5MjyLZm2e8d0ZmVmSD20GNY/0TbEoVesW+Ka5VutlIWccsG3JIgAthAcmkZm9HPUopxmfDOB12DuSoT49MLzDoDzI4FGRkOrx4XJEqe3zyI9384mP7VnUwZrOppfVHSjkrshqht1bpxky17PWSABdbilmGfxkVjqWmts9F4rTVu/jP6RmM2bMl56NxXr80zqA/wA9vTy97/J6OOqbmYzhtUON08BNHvDnDOzPBJrVEa+W3HSvX72Wt0o2ZatnrJasRii3DTMO/1pJMambTHZL5NklIas17t+4y4A/yxqUxwln3a29wcTJdItnVXs+VsdCy0M/+3retmQa3g3rX6mF/lVLu30upa+DVIKsRii3P7B+ZjWxJdufuAoP+AAP+IKOzSxNtnHbFo/s76Pd5eXBX67Iw3te51FrPTJlPJpK4nHa+8oUH2dZSW94frIBy/17WKt2YpZa9XhLgYssw40dmIxsAz0XivHZxjMGhAO/fmVl2W293E6eOeHj8YBcN7vx/zpnOyLHZCGhNe6PbNG9iZvy9WIUEuNgyzDL8K7NsaygSz7tJQiKpeffmFINDQd74YJxIVomks6Fmcaf2nra6vK+TqzPyaE+r6cLSLL8XK5IauBAVshBNMBuJMR9JkMzzd3drcp7B9ESbsdBSiaTGYeNjB1Ilkvt3tuStVxvpjLRK3VcskRq4EFUQSySZDccJhePEk7lLJKFwnFcvjjLgDzI0srxEcu/2Jvp6vTx+qJP6mvx/rrUuu+GFo6xe9xVLJMCFKDEj65EkkppzN6YY8Ad48/I4scRSi7yrMVUi6e/1sr01fwejy2GjscZJfU3+NUjE5iYBLkSJhGOpuvbcGqv/3ZiYY8Af5KXhIBOh6OJxt8PGxw920u/zcN/OFmx5xmFvZDq72HwkwIXYgMwoktlI/jHbMwuxxRLJyrVI7tvRTL/Py8cPdlDnyv3n6LDZUmO1a+wbms6+EVI3NycJcCGKZHQUydvXJxnwB/nuleUlku5mN329qVEk+cZg222KOpeDRnd5dmYvhlUmQG1FEuBCGBSJJwiF42tukHBtfI4Xzwd4eTjI1Hxs8Xit085j6RLJvTuac5ZIqj2dPR+zT4DayiTAhVhDZlp7KBInkmfJ1vdu3eWffjTCB6Mhbmbt1A5w/84WTh3x8rEDHdTmaUlnOiMb3NWbzr6WQhNtpLxSPRLgJST/kc1pPb+XQtPa44kkb12b5Bvv3uGdm3eX3batxU2/z8vJXg/eJnfO57fbVGpDhA0u01oJa020kfJKdUmAb1AmHMy0ia1YUkzAxBNJ5iKJNae1XxkN8aI/wJnhUe4uLJVIbCo12eazR7fz84/uyVn+UEpR70qtrV3rNE+JxIh8Y8elvFJdEuAbkB0O4XgSu03RZaI1Jjab9bSkCwVMMqkJRVND//KN2Z6aj3JmeJQBf4ArY3OLxxWpYAvMLOBQ4HI6eOKerlXBXMwkG6spxzom8knWOAnwDcgOh+DMAomkNtUaE5vJej+q5wqYZFIzF40zF0mwEMtdIoklknz/6iQD/gBvXZtc1mm5o7WWfp+Hvl4vnY01q5ZrheL3jLSqUq9jIiWZ4hQMcKWUG/g2UJO+/9e11s8qpdqArwG7gevA57XWU+U7VfPJDof6Gie/0XeIUDQuLYcyWO9H9UzA/Oj2XQ56Gmmvd3Fjcj5naGut+WA0xIA/yJnhIDPh+OJt9TV2njjURb/Py+HuxmWt7MxyrU67LbU7exXHa1dDKafmS0mmOEZa4BHgCa11SCnlBN5USv0L8K+AM1rr55RSzwDPAL9VxnM1na26ilo1PuLmakkbOY9wLEFnYw3H97anJt1E4qvuMzkX5eXh1AJSV8eXSiQ2Bcd2t9Hf6+GR/R05Zz5mOiPra6o/XnszkKVli1PUaoRKqTrgTeAXgb8EHtdajyiluoHXtNaH1nq8rEZofdX8iJsd2EDe84jGk8ylh/7l64yMxpN87+oEA/4AP7g2Sfaw7l1tdfQf8fLk4S46GmpWPTYzXrvRgp2RViA18NU2tBqhUsoOnAP2A3+stX5LKeXRWo8ApEO8K89jnwaeBujp6Vnv+QuTKOYjbqn/ELM/qp8+e2vZebx36y7dzW5CkXjeKe1aay4GZxk4H+SVi6PMZpVIGt0OnjjURZ/Pwz3expyhbPbx2uthxrCU1RKNMxTgWusEcL9SqgX4hlLqiNEX0Fo/DzwPqRb4us5SmIbRj7jlbqnfu70Zh93GxGwYm91GR4OLyblozvuOhyK8PBRkwB/kRtZEG5uCh/a00e/z8vDe9rwlksymCJUqkVQqVKXD0PqKGoWitb6rlHoNOAUElVLdWSWU0XKcoDAXo3X/cnVGxRKp8kij28F/+uThVaM/MqLxJN+5PM6AP8DZG1PLSiS72+s4dcTLk4c9tNW7Vr1GNcdrVzJUpcPQ+oyMQukEYunwrgWeBP4H8C3gKeC59NdvlvNENzMzfoxdi5GPuKXsjEqkh/2FwnHCWdPZszfrhVSJZHhklgF/gFcvji3rsGxyOziR3qn9QFdDzlCucdoXh/5Vq0RSyVCVDkPrM9IC7wZeSNfBbcBprfU/KqW+B5xWSn0RuAl8roznuWlt1o+xGx2hk9kUYW6NFf8yxmYj/M3bN3nt4tiyBaTsNsXxPW30+bwc39uGM8d47EyJpNEkU9orGapbdRTVZlIwwLXWPwKO5jg+AZwox0ltJZv5Y2yxnVFaaxbSmyKstW8kpIYHvnl5nAF/kHduTJF9z52ttXz6vm2cONxFa93qEgmkZkc2up3Um2jVP6h8qEqHobXJTMwq26ofY7PLRrvb69Nra+dfphVSAe//cIYX/QFeuzjGfNbUd6Wg2e3EpjQ//VAPP3HEu+rxDpuNRndqAalcrXGzkFAVRkmAV1mhFpfV6uNGDI/M8At/dY5oLIHdbuPZT/eu6oTMFpwJL+7UfufuwuJxh01xfG879+1s5v+9e4d4IonT4eCgZ/lzZTZGWGtTYCGsSP5Hm0C+Ftdmq49nRpC8fmmMcDROc62L6YUol4KhVQG+EEvwxgepUSTv3by7rERy0NNAX6+XE/d00VznBFLrbmePSHHa063tTb4WidjaJMBNrJqTZkol1wiSfZ31OB12pheiOB32xRaz1pof3Zlm0B/ktYtjLGSNOGmtc3Ky10O/z8uejvpVr7Ovs4H9XY3Up2vbta7qd0iWm1l/56JyJMBNzCyTZopVaATJvs4Gnv1072KLuc5l54XvXmdwKMjIdHjxfk674uF97fT3enloT1veoX1Ou40m9+aaIVmI2X7nojokwE2s2pNmirWQ3uh3LhJfcwQJwLbmWj4IhvijVy7zw9vTy2475G3klM/DJw510VTrzPl4m1oa/lfpRaTM0PI1y+9cVJcEuMlVetJMsSLxBHOR1Ga/8WTuNUgyklrzw1t3GfAH+fYHY4RjS/dvr3dxstdDn8/D7vbVJZKMGmdqEalqbY5glpavWUcvmeHNbSuRAN8EKj12ONMZORvOv9pftjt3Fxj0BxgcChKciSwed9oVj+7voN/n5cFdrXnLH2aabGOWlq8ZJ+GY5c1tK5EAz2Ll1kO5xw5nQnut1f6yZUabDPgDvH9nZtltvd1N9KdLJA3u/P8FzTjZxkwtX7ONFzfLm9tWIgGeJq2H1TKhPRdNEInl3i8yWyKp+ef3R3jRH+DKaIhoYqkO3tlQw8neLvp8Xnra6vI+h9kn25ix5WsWZnpz2yokwNOk9ZCS2Zk9FI0bCm2AW5PzDA4F+ef3R5atReK0Kz52oJNTPg9He/KXSLI3SKhzLf8vacZPRWZr+ZqFvLlVngR42lbeXXs9oR0Kx3nt0igvng8yNLK8ROJ22nDaFD/3yB4+e3R73ucoNNlGPhVZj7y5VZYEeNpW2117PaGdSGreuTnFi+cDvHl5nFhWiaSrsYaH9rRx9vokWuvUm+CO1W+CmbW2jUy2qeanIqu8+YqtTQI8y2bfXTsT2nPR5etqF3JjYo4Bf5CXhoNMhJZ2vXE7bHz8YCd9Pg/372zBphRXxkI5N1lYz2SbatVUzf7mK0SGpQLcSq2iQuFTqZ9lPS1tgNlwjFcupEaRXAjMLrvtvh3N9Pm8PHawg5HpMJeCIa6Nzy1usJAJ7kxru6nWua7JNtWqqZrxzVeIXCwT4FZrFa0VPuX+WRJJvTgjspiWdiKpefv6JAP+IN+9srxE4m1y0+fz0NfrYVtLLQBXxkJ86R+GFn+OzKqCpdz8txo1VRlNIazCMgFuxVZRvvApx8+SWTRqLhJnIWo8tAGujc8x4A/w8vDoso2Ba512HjvYSf8RD/dub8a2Yiz2pWCIWDyxuKrg9Yl5Pnags+JT20tNRlMIq7BMgG+mVlGpfpbMolGhcJyF2Nrbjq00vRDjlQujDPqDXAwuL5Ec7Wmh3+flYwc6qF0jjA96GnA67MyGY9S6HDy6v8Py4Z0hoymEFahi/ug36tixY/rs2bPrfrzRurEVauUbOcf5aNzQtmMrxRNJ3ro2yeBQkO9dmSCetfvNthY3/b1eTvZ68Da7Cz5XZpbkzYk5zn84Y+prLYTVKaXOaa2PrTpupQA3wmq1cqMWoonFEsla247lcmU0xIv+AGeGR7m7sDTRps5l5/GDnZw64sW3rangdHWHzUaDO7UmiRlnSW6UFd74xdaUL8AtU0Ixyoq18nw2Etp356OcuTDKwPkgl8dCi8cV8EBPC/1HvIZLHlthS7LN+sYvNrdN9xdp9Vp5OLa0pnaxoR1LJHnr6iQD/gDfvza57PE7Wmvp93k4edhDV1PhEklmTZJGd/m3JDNDy3czvfGLrWPTBbgVRxCEY6nda+YiiYJraq+ktebyaIgBf5AzF0aZziqR1NfYeeJQF77tTcQTmkPexmXhnWvSTaVb22Zp+Vr9jV9sTZsuwMGcIwhWtjKLXVN7pcm5KGeGgwz4g1wdn1s8blNwbFcrfT4vj+xr5/bdhZxjtVeO4f79z93HsV2tFd8A2CwtXyu+8QuxKQPcbDKtzGgsjt1u579+xsfONZZUzScaT/L9qxO86A/wg2uTZFdYdrXV0efzcLLXQ0dDzeLxlWO1MzvAXwqGiCeStDe4mZ6PcHNynuN720vx4xbFTC1fM77xC7EWCfAySw3dm2AhGqfJ7WR6Icr5D2cMB7jWmovBWQb8QV69MMpMOL54W6PbwROHuug/4uGQpzHnKJLMWO3MDvD3eBtpdDt5dH8HXz93m5mFKC6no+zBma/OLS1fIdZPArwM4onk4q7s4ViC7S21OOy2xRA96Gko+BzjoQgvDwUZGApyY2J+8bhNwUN72ujr9fLRfe24HGuXPDI7wF8bn+OBnlYe6GnFZlN0NtZULDgL1bml5SvE+kiAl8jK0M6WCdFcq/Rli8aTfOfyOANDQc5eX14i2d1ex6kjXp487KGt3m4x3qsAAA6aSURBVGXonOw2RUONg8cOdnGyd3XQVyo4zVLnFmKzkQDfgGLWH8lepS+b1prhkVkG/AFevThGKLJUImlyOzhx2EO/z8OBrgbD+0K6nakVAEu5l+RGhvqZqc4txGYiAV6k5GJoJ4pefyTb2GyEl4aCDPgD3JpaWDxuU3B8bzt9Pg/H9xQukSw9TtHgdtDkdhp+jFEbHeondW4hykMC3IBShXY4luA7l8d50R/knRtTZD/Lvs56+n1eThzuorXOWIkE0hsl1DpprHFg2+DSrfmUogQidW4hSk8CPI9EUjNfgtDWWuP/cIYBf5DXLo4yl1Vqaal1cuJwF/0+L/u7CndsZqtzOWiqXb0JcDlICUQIcyr416+U2gn8JeAFksDzWus/VEq1AV8DdgPXgc9rraeMvKgZpk7nkl3TDseS6w5tgOBMmJeGggwOBbmdVSJx2BTH97bT7/Pw43vaipo4k+mUbKp1VnQxKSmBCGFORppvceDXtNbvKKUagXNKqZeAfwec0Vo/p5R6BngG+K1CT2aWqdMZG9kIYaWFWII3Phhn0B/g3Zt3l5VIDnQ10O/z8MQ9XbQUUSIBqHHaaUrv3l6qTsliSQlECPMpGOBa6xFgJP3vWaXUMLAd+AzwePpuLwCvYSDAzTCkrJQtba01P7ozzaA/yGsXx1jIGkLYWufkyfQokr15hg7mY1OK+ppUmaTGsTk2SRBClFZRBVSl1G7gKPAW4EmHO1rrEaVUl5HnqFY9NbNP5Hx04y1tgJHpBQb9qRLJyHR48bjTrnh4Xzv9vV5+bHfxa4tUolNSCLE5GA5wpVQD8HfAr2itZ4x+lFdKPQ08DdDT01PRempmck2pQnshmuD1S2MMDgV479b0stsOeRs55fPwiUNdNNU6i37uOpeD5lonta7ytrbN2v8ghCieoQBXSjlJhfdXtdZ/nz4cVEp1p1vf3cBorsdqrZ8HnofUjjxQ3npqPJFkLpLaCKGYHdnzSWrND2/dZXAoyOuXxgjHllYObK93cbLXQ5/Pw+72+qKf26YUje71dUquJ4jN1v8ghNgYI6NQFPDnwLDW+stZN30LeAp4Lv31m2U5QwNiiSTzkQShaJxICUIb4M7dBV7yBxkYChCciSwed9oVj+7voM/n4diuNuzrKHO4HKkySYNrfWWS9QaxGfofhBClY6QF/gjwb4H3lVLvpY/9DqngPq2U+iJwE/hceU4xt0xLu5ShPReJ8/qlMQb8Ad6/M7Pstt7uRvp9Xh4/1Emju/gSCZDqlHRvvEyy3iC2ynhuKfMIYYyRUShvktpKMZcTpT2dtWVGj4TCpSmPZJ7zvVt3GfAHeOODcSLxpRJJZ0MNJ3u76PN56VnH+t1QnrHb6w1iK4znljKPEMaZfiZmqaaxr3R7ap4Bf5CXhoKMzi6VSFwOGx/b30G/z8PRntZ1lUgyz5MZTVLqsdsbCWKzj+eWMo8QxpkywMsV2qFwnNcujTLgD+L/cHmJ5Mi2JvrSJZKGde4HqZSi3pVaCdDIbu8bYfYgXi+rlHmEMAPTBHimPDJf4tBOJDXv3JzixfMBvnNlgmhWiaSt3sUhTyOf/IiXj+7rWPdrOGw2mmodNLqd626xixQrlHmEMIuqBnipx2lnuzExlyqRDAeZCEUXj7sdNh490MFHdjTztbdvcXVslj99fR5PkzvvRgv51LrsNLmdFdvBfavYrJ8uhCi1iidPqcdpZ5sNx3jlQmqizfDI7LLbPrKjmX6fl8cOdlDncvAv5wPEE8lVm/0WYlOKkekFrk3McXRnK93NtSX9GYQQwqiKBngskeTm5Pyq41fGQgW3G8snkdS8fX2SQX+Q71wZJ5ZYKr10N7tTE216PWxrWR60Kzf7XWufyitjIS6PhnhwVyt1Lge/843zMkpCCFF1FQ3wZI6y9pWxEF/6h6HFQHz2072GQvza+BwD/gAvD48yOZdVInHaeOxgJ/0+Lx/Z0YwtzwgQo/tU3p5a4L/90zDxeILTZ2/z2fu3lXWUhIyBFkIYVfXi7aVgiFg8YaiUMb0Q45ULowz6g1wMLi+R3L+zhX6fh48f6DQ8USbfPpXZ25OdvTFFIpGkrcHN1FxquGG5RknIGGghRDGqHuCFShnxRJIfXJ9kwB/ke1cmiGc147e1uOnv9XKy14O32b3hc8m1EuDKYW19Pi99Pm9ZWskyBloIUYyqB3i+UsaVsRAD/gBnhkeZmo8t3r/OZefxQ53093o5sr2pJJNk1tqeLN+wtnIEq4yBFkIUQ5VqvLUR997/gP7mS9/Oe/vd+ShnLowycD7I5bHQ4nEFHO1p4dQRL4/u7yjJJJnMSoCNZdjFfSPWqoEbrY9LHV2IzUUpdU5rfWzl8aq3wGOJJG9dnWTAH+D71yZJZJVIdrTW0u/zcPKwh66mjZdIwPj2ZNUKwXxjoI3Wx0tVR5c3ASHMryoBrrXmg9EQg/4gZy6MMr2wVCKpd9n5xD1d9Ps89HaXpkRS7PZkZuxMNFofL0Ud3Yw/vxBitYoGeCKZ5G/P3mLAH+Tq+NzicZuCB3paOXXEyyP72qkp0ToiLoeNRnfx25OZsTPRaH28FHV0M/78QojVKhrgV8bm+MrrVxe/72mro9/n4cnDHjobazb43KnJQIc8jXxkZzNN7vUvKGXGzkSja4SUYi0RM/78QojVKtqJWdN9QB94+o94Il0iucfbWJISSWYyUDKRxOW085UvPJg3uKQj0Jit/vMLYSam6MTsbnbz9V94uKSjPupcjtSWZ1rT3uhe8yN/MbXdrb6g0lb/+YWwgoqOnyvVkD27TdFS52JnWx3eZjcP7mo19JE/u7Ybiyd4/850zvsJIYQVVH0YYTFcDhvNtc5VQwCN1n2ltiuE2ExMH+BKKepr7AU7JY185JfNAoQQm4lpA7xUu9ys7IyT2q4QYrMwXYBn73IzPDLD4FBw3a1lmZAihNjMTBHg2cu3Zjo5SxG+MiFFCLGZVXUVJ5fDRkdjDT1tdXQ01CwboVKKESPSaSmE2Mwq3gJXSlHvstNUu3anZCnCVzothRCbWUVnYh594EH99ttv47Aba/jLbEAhhDDJTEy7TRkOb5DZgEIIsRbz7GQghBCiKBLgQghhURLgQghhURLgQghhURLgQghhURLgQghhUQUDXCn1F0qpUaXU+axjbUqpl5RSH6S/tpb3NEUlDI/McPrsLYZHZqp9KkIIA4y0wP83cGrFsWeAM1rrA8CZ9PfCwjJrz/zPly/xS199R0JcCAsoGOBa628DkysOfwZ4If3vF4DPlvi8RIXJbkVCWM96a+AerfUIQPprl5EHTc1HpWVnUrLwlxDWU/ap9Eqpp4GnAWpauvilr74j63KbkCz8JYT1rDfAg0qpbq31iFKqGxjNd0et9fPA8wAtPffozMdzCQjzkbVnhLCW9ZZQvgU8lf73U8A3jTwontTy8VwIIUrEyDDCvwa+BxxSSt1WSn0ReA44qZT6ADiZ/r4gT1ONlE+EEKJECpZQtNY/k+emE8W+WGudq2B4yxrgQghhjCn2xMyQTYiFEMI4U02ll7HIQghhnKkCXMYiCyGEcaYqochYZCGEMM5UAQ4yFlkIIYwyVQlFCCGEcRLgQghhURLgQghhURLgQghhURLgQghhURLgQghhURLgQghhURLgQghhURLgQghhURLgQghhUZYN8OGRGU6fvSWbJAshtizTrYVihKwbLoQQFm2By7rhQghh0QCXdcOFEMKiJRRZN1wIISwa4CDrhgshhCVLKEIIISTAhRDCsiTAhRDCoiTAhRDCoiTAhRDCoiTAhRDCopTWunIvptQscLFiL2h+HcB4tU/CJORaLCfXY4lcC9ilte5cebDS48Avaq2PVfg1TUspdVauR4pci+XkeiyRa5GflFCEEMKiJMCFEMKiKh3gz1f49cxOrscSuRbLyfVYItcij4p2YgohhCgdKaEIIYRFSYALIYRFVSTAlVKnlFIXlVKXlVLPVOI1zUQptVMp9apSalgp5VdK/XL6eJtS6iWl1Afpr63VPtdKUUrZlVLvKqX+Mf39Vr4WLUqpryulLqT/jzy8xa/Hf0z/nZxXSv21Usq9la/HWsoe4EopO/DHwE8AvcDPKKV6y/26JhMHfk1rfRg4Dvz79DV4BjijtT4AnEl/v1X8MjCc9f1WvhZ/CLyotb4HuI/UddmS10MptR34D8AxrfURwA78NFv0ehRSiRb4Q8BlrfVVrXUU+BvgMxV4XdPQWo9ord9J/3uW1B/odlLX4YX03V4APludM6wspdQO4JPAn2Ud3qrXogn4OPDnAFrrqNb6Llv0eqQ5gFqllAOoAz5ka1+PvCoR4NuBW1nf304f25KUUruBo8BbgEdrPQKpkAe6qndmFfUHwG8CyaxjW/Va7AXGgP+VLin9mVKqni16PbTWd4DfB24CI8C01nqQLXo9CqlEgKscx7bk2EWlVAPwd8CvaK1nqn0+1aCU+hQwqrU+V+1zMQkH8ADwFa31UWCOLVweSNe2PwPsAbYB9UqpL1T3rMyrEgF+G9iZ9f0OUh+JthSllJNUeH9Va/336cNBpVR3+vZuYLRa51dBjwA/pZS6Tqqc9oRS6q/YmtcCUn8ft7XWb6W//zqpQN+q1+NJ4JrWekxrHQP+HvgoW/d6rKkSAf42cEAptUcp5SLVIfGtCryuaSilFKka57DW+stZN30LeCr976eAb1b63CpNa/3bWusdWuvdpP4vvKK1/gJb8FoAaK0DwC2l1KH0oRPAEFv0epAqnRxXStWl/25OkOoz2qrXY00VmYmplPpJUnVPO/AXWuvfLfuLmohS6lHgDeB9luq+v0OqDn4a6CH1H/dzWuvJqpxkFSilHgd+XWv9KaVUO1v0Wiil7ifVoesCrgI/R6pxtVWvx5eAf01q9Na7wM8DDWzR67EWmUovhBAWJTMxhRDCoiTAhRDCoiTAhRDCoiTAhRDCoiTAhRDCoiTAhRDCoiTAhRDCov4/sLphUtt1U1UAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.regplot(x, y, marker='.')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Correlation Coefficient"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Often one is also interested not only in the parameters of the line fit, but also in the correlation coefficient *r*. This one provides us with information about the goodness of the fit and the correlation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "from scipy import stats\n",
    "slope, intercept, r_value, p_value, std_er = stats.linregress(x,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "k=0.30, d=15.07\n",
      "Correlation coefficient: r=0.839\n"
     ]
    }
   ],
   "source": [
    "print(f'k={slope:4.2f}, d={intercept:4.2f}' )\n",
    "print(f'Correlation coefficient: r={r_value:5.3f}')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "[6_Events](6_Events.ipynb)<img src=\"data\\images\\Forward_Backward.png\" align='middle'>[9_SoundProc_Basics](9_SoundProc_Basics.ipynb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
